package aufgaben;
import javax.swing.JOptionPane;

public class Hangman {
  public static char[] geheim;
  public static char[] gefunden;

  public static void main(String[] args){
    String eingabe=JOptionPane.showInputDialog("Gib das zu findende Wort ein!");
    eingabe=eingabe.toUpperCase();
    geheim =eingabe.toCharArray();
    gefunden=new char[geheim.length];
    for(int n=0; n<gefunden.length; n++) gefunden[n]='-';
    int schritte=0;
    int score=0;
    int hang=0;
    do{
      eingabe=JOptionPane.showInputDialog(new String(gefunden));
      if(eingabe.length()<1) eingabe="-";
      eingabe=eingabe.toUpperCase();
      char buchstabe=eingabe.charAt(0);
      int neu=charHinzu(buchstabe, geheim, gefunden);
      if(neu==0){
        hang++;
      }
      score=score+neu;
      System.out.println("Score: "+score+"    Fehler: "+hang);
    } while(!isGleich(geheim, gefunden));
  }

  public static boolean isGleich(char[] a, char[]b){
    if(a.length!=b.length) return false;
    for(int i=0; i<a.length; i++)
      if(a[i]!=b[i]) return false;
    return true;
  }

  public static int charHinzu(char c, char[] ende, char[] bisher){
    int anz=0;
    if(ende.length!=bisher.length) return 0;
    for(int i=0; i<ende.length; i++)
      if(c==ende[i] && c!=bisher[i]){
        anz++;
        bisher[i]=c;
      }
    return anz;
  }
}
